package cn.kduck.utils;

import java.util.HashMap;
import java.util.Map;

public final class MimeTypeUtils {

    public final static String DEFAULT_TYPE = "application/octet-stream";

    private static Map<String,String> mimeTypeMap = new HashMap();

    private MimeTypeUtils(){
        mimeTypeMap.put("123","application/vnd.lotus-1-2-3");
        mimeTypeMap.put("3dml","text/vnd.in3d.3dml");
        mimeTypeMap.put("3ds","image/x-3ds");
        mimeTypeMap.put("3g2","video/3gpp2");
        mimeTypeMap.put("3gp","video/3gpp");
        mimeTypeMap.put("7z","application/x-7z-compressed");
        mimeTypeMap.put("aab","application/x-authorware-bin");
        mimeTypeMap.put("aac","audio/x-aac");
        mimeTypeMap.put("aam","application/x-authorware-map");
        mimeTypeMap.put("aas","application/x-authorware-seg");
        mimeTypeMap.put("abs","audio/x-mpeg");
        mimeTypeMap.put("abw","application/x-abiword");
        mimeTypeMap.put("ac","application/pkix-attr-cert");
        mimeTypeMap.put("acc","application/vnd.americandynamics.acc");
        mimeTypeMap.put("ace","application/x-ace-compressed");
        mimeTypeMap.put("acu","application/vnd.acucobol");
        mimeTypeMap.put("acutc","application/vnd.acucorp");
        mimeTypeMap.put("adp","audio/adpcm");
        mimeTypeMap.put("aep","application/vnd.audiograph");
        mimeTypeMap.put("afm","application/x-font-type1");
        mimeTypeMap.put("afp","application/vnd.ibm.modcap");
        mimeTypeMap.put("ahead","application/vnd.ahead.space");
        mimeTypeMap.put("ai","application/postscript");
        mimeTypeMap.put("aif","audio/x-aiff");
        mimeTypeMap.put("aifc","audio/x-aiff");
        mimeTypeMap.put("aiff","audio/x-aiff");
        mimeTypeMap.put("aim","application/x-aim");
        mimeTypeMap.put("air","application/vnd.adobe.air-application-installer-package+zip");
        mimeTypeMap.put("ait","application/vnd.dvb.ait");
        mimeTypeMap.put("ami","application/vnd.amiga.ami");
        mimeTypeMap.put("anx","application/annodex");
        mimeTypeMap.put("apk","application/vnd.android.package-archive");
        mimeTypeMap.put("appcache","text/cache-manifest");
        mimeTypeMap.put("application","application/x-ms-application");
        mimeTypeMap.put("apr","application/vnd.lotus-approach");
        mimeTypeMap.put("arc","application/x-freearc");
        mimeTypeMap.put("art","image/x-jg");
        mimeTypeMap.put("asc","application/pgp-signature");
        mimeTypeMap.put("asf","video/x-ms-asf");
        mimeTypeMap.put("asm","text/x-asm");
        mimeTypeMap.put("aso","application/vnd.accpac.simply.aso");
        mimeTypeMap.put("asx","video/x-ms-asf");
        mimeTypeMap.put("atc","application/vnd.acucorp");
        mimeTypeMap.put("atom","application/atom+xml");
        mimeTypeMap.put("atomcat","application/atomcat+xml");
        mimeTypeMap.put("atomsvc","application/atomsvc+xml");
        mimeTypeMap.put("atx","application/vnd.antix.game-component");
        mimeTypeMap.put("au","audio/basic");
        mimeTypeMap.put("avi","video/x-msvideo");
        mimeTypeMap.put("avx","video/x-rad-screenplay");
        mimeTypeMap.put("aw","application/applixware");
        mimeTypeMap.put("axa","audio/annodex");
        mimeTypeMap.put("axv","video/annodex");
        mimeTypeMap.put("azf","application/vnd.airzip.filesecure.azf");
        mimeTypeMap.put("azs","application/vnd.airzip.filesecure.azs");
        mimeTypeMap.put("azw","application/vnd.amazon.ebook");
        mimeTypeMap.put("bat","application/x-msdownload");
        mimeTypeMap.put("bcpio","application/x-bcpio");
        mimeTypeMap.put("bdf","application/x-font-bdf");
        mimeTypeMap.put("bdm","application/vnd.syncml.dm+wbxml");
        mimeTypeMap.put("bed","application/vnd.realvnc.bed");
        mimeTypeMap.put("bh2","application/vnd.fujitsu.oasysprs");
        mimeTypeMap.put("bin","application/octet-stream");
        mimeTypeMap.put("blb","application/x-blorb");
        mimeTypeMap.put("blorb","application/x-blorb");
        mimeTypeMap.put("bmi","application/vnd.bmi");
        mimeTypeMap.put("bmp","image/bmp");
        mimeTypeMap.put("body","text/html");
        mimeTypeMap.put("book","application/vnd.framemaker");
        mimeTypeMap.put("box","application/vnd.previewsystems.box");
        mimeTypeMap.put("boz","application/x-bzip2");
        mimeTypeMap.put("bpk","application/octet-stream");
        mimeTypeMap.put("btif","image/prs.btif");
        mimeTypeMap.put("bz","application/x-bzip");
        mimeTypeMap.put("bz2","application/x-bzip2");
        mimeTypeMap.put("c","text/x-c");
        mimeTypeMap.put("c11amc","application/vnd.cluetrust.cartomobile-config");
        mimeTypeMap.put("c11amz","application/vnd.cluetrust.cartomobile-config-pkg");
        mimeTypeMap.put("c4d","application/vnd.clonk.c4group");
        mimeTypeMap.put("c4f","application/vnd.clonk.c4group");
        mimeTypeMap.put("c4g","application/vnd.clonk.c4group");
        mimeTypeMap.put("c4p","application/vnd.clonk.c4group");
        mimeTypeMap.put("c4u","application/vnd.clonk.c4group");
        mimeTypeMap.put("cab","application/vnd.ms-cab-compressed");
        mimeTypeMap.put("caf","audio/x-caf");
        mimeTypeMap.put("cap","application/vnd.tcpdump.pcap");
        mimeTypeMap.put("car","application/vnd.curl.car");
        mimeTypeMap.put("cat","application/vnd.ms-pki.seccat");
        mimeTypeMap.put("cb7","application/x-cbr");
        mimeTypeMap.put("cba","application/x-cbr");
        mimeTypeMap.put("cbr","application/x-cbr");
        mimeTypeMap.put("cbt","application/x-cbr");
        mimeTypeMap.put("cbz","application/x-cbr");
        mimeTypeMap.put("cc","text/x-c");
        mimeTypeMap.put("cct","application/x-director");
        mimeTypeMap.put("ccxml","application/ccxml+xml");
        mimeTypeMap.put("cdbcmsg","application/vnd.contact.cmsg");
        mimeTypeMap.put("cdf","application/x-cdf");
        mimeTypeMap.put("cdkey","application/vnd.mediastation.cdkey");
        mimeTypeMap.put("cdmia","application/cdmi-capability");
        mimeTypeMap.put("cdmic","application/cdmi-container");
        mimeTypeMap.put("cdmid","application/cdmi-domain");
        mimeTypeMap.put("cdmio","application/cdmi-object");
        mimeTypeMap.put("cdmiq","application/cdmi-queue");
        mimeTypeMap.put("cdx","chemical/x-cdx");
        mimeTypeMap.put("cdxml","application/vnd.chemdraw+xml");
        mimeTypeMap.put("cdy","application/vnd.cinderella");
        mimeTypeMap.put("cer","application/pkix-cert");
        mimeTypeMap.put("cfs","application/x-cfs-compressed");
        mimeTypeMap.put("cgm","image/cgm");
        mimeTypeMap.put("chat","application/x-chat");
        mimeTypeMap.put("chm","application/vnd.ms-htmlhelp");
        mimeTypeMap.put("chrt","application/vnd.kde.kchart");
        mimeTypeMap.put("cif","chemical/x-cif");
        mimeTypeMap.put("cii","application/vnd.anser-web-certificate-issue-initiation");
        mimeTypeMap.put("cil","application/vnd.ms-artgalry");
        mimeTypeMap.put("cla","application/vnd.claymore");
        mimeTypeMap.put("class","application/java");
        mimeTypeMap.put("clkk","application/vnd.crick.clicker.keyboard");
        mimeTypeMap.put("clkp","application/vnd.crick.clicker.palette");
        mimeTypeMap.put("clkt","application/vnd.crick.clicker.template");
        mimeTypeMap.put("clkw","application/vnd.crick.clicker.wordbank");
        mimeTypeMap.put("clkx","application/vnd.crick.clicker");
        mimeTypeMap.put("clp","application/x-msclip");
        mimeTypeMap.put("cmc","application/vnd.cosmocaller");
        mimeTypeMap.put("cmdf","chemical/x-cmdf");
        mimeTypeMap.put("cml","chemical/x-cml");
        mimeTypeMap.put("cmp","application/vnd.yellowriver-custom-menu");
        mimeTypeMap.put("cmx","image/x-cmx");
        mimeTypeMap.put("cod","application/vnd.rim.cod");
        mimeTypeMap.put("com","application/x-msdownload");
        mimeTypeMap.put("conf","text/plain");
        mimeTypeMap.put("cpio","application/x-cpio");
        mimeTypeMap.put("cpp","text/x-c");
        mimeTypeMap.put("cpt","application/mac-compactpro");
        mimeTypeMap.put("crd","application/x-mscardfile");
        mimeTypeMap.put("crl","application/pkix-crl");
        mimeTypeMap.put("crt","application/x-x509-ca-cert");
        mimeTypeMap.put("cryptonote","application/vnd.rig.cryptonote");
        mimeTypeMap.put("csh","application/x-csh");
        mimeTypeMap.put("csml","chemical/x-csml");
        mimeTypeMap.put("csp","application/vnd.commonspace");
        mimeTypeMap.put("css","text/css");
        mimeTypeMap.put("cst","application/x-director");
        mimeTypeMap.put("csv","text/csv");
        mimeTypeMap.put("cu","application/cu-seeme");
        mimeTypeMap.put("curl","text/vnd.curl");
        mimeTypeMap.put("cww","application/prs.cww");
        mimeTypeMap.put("cxt","application/x-director");
        mimeTypeMap.put("cxx","text/x-c");
        mimeTypeMap.put("dae","model/vnd.collada+xml");
        mimeTypeMap.put("daf","application/vnd.mobius.daf");
        mimeTypeMap.put("dart","application/vnd.dart");
        mimeTypeMap.put("dataless","application/vnd.fdsn.seed");
        mimeTypeMap.put("davmount","application/davmount+xml");
        mimeTypeMap.put("dbk","application/docbook+xml");
        mimeTypeMap.put("dcr","application/x-director");
        mimeTypeMap.put("dcurl","text/vnd.curl.dcurl");
        mimeTypeMap.put("dd2","application/vnd.oma.dd2+xml");
        mimeTypeMap.put("ddd","application/vnd.fujixerox.ddd");
        mimeTypeMap.put("deb","application/x-debian-package");
        mimeTypeMap.put("def","text/plain");
        mimeTypeMap.put("deploy","application/octet-stream");
        mimeTypeMap.put("der","application/x-x509-ca-cert");
        mimeTypeMap.put("dfac","application/vnd.dreamfactory");
        mimeTypeMap.put("dgc","application/x-dgc-compressed");
        mimeTypeMap.put("dib","image/bmp");
        mimeTypeMap.put("dic","text/x-c");
        mimeTypeMap.put("dir","application/x-director");
        mimeTypeMap.put("dis","application/vnd.mobius.dis");
        mimeTypeMap.put("dist","application/octet-stream");
        mimeTypeMap.put("distz","application/octet-stream");
        mimeTypeMap.put("djv","image/vnd.djvu");
        mimeTypeMap.put("djvu","image/vnd.djvu");
        mimeTypeMap.put("dll","application/x-msdownload");
        mimeTypeMap.put("dmg","application/x-apple-diskimage");
        mimeTypeMap.put("dmp","application/vnd.tcpdump.pcap");
        mimeTypeMap.put("dms","application/octet-stream");
        mimeTypeMap.put("dna","application/vnd.dna");
        mimeTypeMap.put("doc","application/msword");
        mimeTypeMap.put("docm","application/vnd.ms-word.document.macroenabled.12");
        mimeTypeMap.put("docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document");
        mimeTypeMap.put("dot","application/msword");
        mimeTypeMap.put("dotm","application/vnd.ms-word.template.macroenabled.12");
        mimeTypeMap.put("dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template");
        mimeTypeMap.put("dp","application/vnd.osgi.dp");
        mimeTypeMap.put("dpg","application/vnd.dpgraph");
        mimeTypeMap.put("dra","audio/vnd.dra");
        mimeTypeMap.put("dsc","text/prs.lines.tag");
        mimeTypeMap.put("dssc","application/dssc+der");
        mimeTypeMap.put("dtb","application/x-dtbook+xml");
        mimeTypeMap.put("dtd","application/xml-dtd");
        mimeTypeMap.put("dts","audio/vnd.dts");
        mimeTypeMap.put("dtshd","audio/vnd.dts.hd");
        mimeTypeMap.put("dump","application/octet-stream");
        mimeTypeMap.put("dv","video/x-dv");
        mimeTypeMap.put("dvb","video/vnd.dvb.file");
        mimeTypeMap.put("dvi","application/x-dvi");
        mimeTypeMap.put("dwf","model/vnd.dwf");
        mimeTypeMap.put("dwg","image/vnd.dwg");
        mimeTypeMap.put("dxf","image/vnd.dxf");
        mimeTypeMap.put("dxp","application/vnd.spotfire.dxp");
        mimeTypeMap.put("dxr","application/x-director");
        mimeTypeMap.put("ecelp4800","audio/vnd.nuera.ecelp4800");
        mimeTypeMap.put("ecelp7470","audio/vnd.nuera.ecelp7470");
        mimeTypeMap.put("ecelp9600","audio/vnd.nuera.ecelp9600");
        mimeTypeMap.put("ecma","application/ecmascript");
        mimeTypeMap.put("edm","application/vnd.novadigm.edm");
        mimeTypeMap.put("edx","application/vnd.novadigm.edx");
        mimeTypeMap.put("efif","application/vnd.picsel");
        mimeTypeMap.put("ei6","application/vnd.pg.osasli");
        mimeTypeMap.put("elc","application/octet-stream");
        mimeTypeMap.put("emf","application/x-msmetafile");
        mimeTypeMap.put("eml","message/rfc822");
        mimeTypeMap.put("emma","application/emma+xml");
        mimeTypeMap.put("emz","application/x-msmetafile");
        mimeTypeMap.put("eol","audio/vnd.digital-winds");
        mimeTypeMap.put("eot","application/vnd.ms-fontobject");
        mimeTypeMap.put("eps","application/postscript");
        mimeTypeMap.put("epub","application/epub+zip");
        mimeTypeMap.put("es3","application/vnd.eszigno3+xml");
        mimeTypeMap.put("esa","application/vnd.osgi.subsystem");
        mimeTypeMap.put("esf","application/vnd.epson.esf");
        mimeTypeMap.put("et3","application/vnd.eszigno3+xml");
        mimeTypeMap.put("etx","text/x-setext");
        mimeTypeMap.put("eva","application/x-eva");
        mimeTypeMap.put("evy","application/x-envoy");
        mimeTypeMap.put("exe","application/octet-stream");
        mimeTypeMap.put("exi","application/exi");
        mimeTypeMap.put("ext","application/vnd.novadigm.ext");
        mimeTypeMap.put("ez","application/andrew-inset");
        mimeTypeMap.put("ez2","application/vnd.ezpix-album");
        mimeTypeMap.put("ez3","application/vnd.ezpix-package");
        mimeTypeMap.put("f","text/x-fortran");
        mimeTypeMap.put("f4v","video/x-f4v");
        mimeTypeMap.put("f77","text/x-fortran");
        mimeTypeMap.put("f90","text/x-fortran");
        mimeTypeMap.put("fbs","image/vnd.fastbidsheet");
        mimeTypeMap.put("fcdt","application/vnd.adobe.formscentral.fcdt");
        mimeTypeMap.put("fcs","application/vnd.isac.fcs");
        mimeTypeMap.put("fdf","application/vnd.fdf");
        mimeTypeMap.put("fe_launch","application/vnd.denovo.fcselayout-link");
        mimeTypeMap.put("fg5","application/vnd.fujitsu.oasysgp");
        mimeTypeMap.put("fgd","application/x-director");
        mimeTypeMap.put("fh","image/x-freehand");
        mimeTypeMap.put("fh4","image/x-freehand");
        mimeTypeMap.put("fh5","image/x-freehand");
        mimeTypeMap.put("fh7","image/x-freehand");
        mimeTypeMap.put("fhc","image/x-freehand");
        mimeTypeMap.put("fig","application/x-xfig");
        mimeTypeMap.put("flac","audio/flac");
        mimeTypeMap.put("fli","video/x-fli");
        mimeTypeMap.put("flo","application/vnd.micrografx.flo");
        mimeTypeMap.put("flv","video/x-flv");
        mimeTypeMap.put("flw","application/vnd.kde.kivio");
        mimeTypeMap.put("flx","text/vnd.fmi.flexstor");
        mimeTypeMap.put("fly","text/vnd.fly");
        mimeTypeMap.put("fm","application/vnd.framemaker");
        mimeTypeMap.put("fnc","application/vnd.frogans.fnc");
        mimeTypeMap.put("for","text/x-fortran");
        mimeTypeMap.put("fpx","image/vnd.fpx");
        mimeTypeMap.put("frame","application/vnd.framemaker");
        mimeTypeMap.put("fsc","application/vnd.fsc.weblaunch");
        mimeTypeMap.put("fst","image/vnd.fst");
        mimeTypeMap.put("ftc","application/vnd.fluxtime.clip");
        mimeTypeMap.put("fti","application/vnd.anser-web-funds-transfer-initiation");
        mimeTypeMap.put("fvt","video/vnd.fvt");
        mimeTypeMap.put("fxp","application/vnd.adobe.fxp");
        mimeTypeMap.put("fxpl","application/vnd.adobe.fxp");
        mimeTypeMap.put("fzs","application/vnd.fuzzysheet");
        mimeTypeMap.put("g2w","application/vnd.geoplan");
        mimeTypeMap.put("g3","image/g3fax");
        mimeTypeMap.put("g3w","application/vnd.geospace");
        mimeTypeMap.put("gac","application/vnd.groove-account");
        mimeTypeMap.put("gam","application/x-tads");
        mimeTypeMap.put("gbr","application/rpki-ghostbusters");
        mimeTypeMap.put("gca","application/x-gca-compressed");
        mimeTypeMap.put("gdl","model/vnd.gdl");
        mimeTypeMap.put("geo","application/vnd.dynageo");
        mimeTypeMap.put("gex","application/vnd.geometry-explorer");
        mimeTypeMap.put("ggb","application/vnd.geogebra.file");
        mimeTypeMap.put("ggt","application/vnd.geogebra.tool");
        mimeTypeMap.put("ghf","application/vnd.groove-help");
        mimeTypeMap.put("gif","image/gif");
        mimeTypeMap.put("gim","application/vnd.groove-identity-message");
        mimeTypeMap.put("gml","application/gml+xml");
        mimeTypeMap.put("gmx","application/vnd.gmx");
        mimeTypeMap.put("gnumeric","application/x-gnumeric");
        mimeTypeMap.put("gph","application/vnd.flographit");
        mimeTypeMap.put("gpx","application/gpx+xml");
        mimeTypeMap.put("gqf","application/vnd.grafeq");
        mimeTypeMap.put("gqs","application/vnd.grafeq");
        mimeTypeMap.put("gram","application/srgs");
        mimeTypeMap.put("gramps","application/x-gramps-xml");
        mimeTypeMap.put("gre","application/vnd.geometry-explorer");
        mimeTypeMap.put("grv","application/vnd.groove-injector");
        mimeTypeMap.put("grxml","application/srgs+xml");
        mimeTypeMap.put("gsf","application/x-font-ghostscript");
        mimeTypeMap.put("gtar","application/x-gtar");
        mimeTypeMap.put("gtm","application/vnd.groove-tool-message");
        mimeTypeMap.put("gtw","model/vnd.gtw");
        mimeTypeMap.put("gv","text/vnd.graphviz");
        mimeTypeMap.put("gxf","application/gxf");
        mimeTypeMap.put("gxt","application/vnd.geonext");
        mimeTypeMap.put("gz","application/x-gzip");
        mimeTypeMap.put("h","text/x-c");
        mimeTypeMap.put("h261","video/h261");
        mimeTypeMap.put("h263","video/h263");
        mimeTypeMap.put("h264","video/h264");
        mimeTypeMap.put("hal","application/vnd.hal+xml");
        mimeTypeMap.put("hbci","application/vnd.hbci");
        mimeTypeMap.put("hdf","application/x-hdf");
        mimeTypeMap.put("hh","text/x-c");
        mimeTypeMap.put("hlp","application/winhlp");
        mimeTypeMap.put("hpgl","application/vnd.hp-hpgl");
        mimeTypeMap.put("hpid","application/vnd.hp-hpid");
        mimeTypeMap.put("hps","application/vnd.hp-hps");
        mimeTypeMap.put("hqx","application/mac-binhex40");
        mimeTypeMap.put("htc","text/x-component");
        mimeTypeMap.put("htke","application/vnd.kenameaapp");
        mimeTypeMap.put("htm","text/html");
        mimeTypeMap.put("html","text/html");
        mimeTypeMap.put("hvd","application/vnd.yamaha.hv-dic");
        mimeTypeMap.put("hvp","application/vnd.yamaha.hv-voice");
        mimeTypeMap.put("hvs","application/vnd.yamaha.hv-script");
        mimeTypeMap.put("i2g","application/vnd.intergeo");
        mimeTypeMap.put("icc","application/vnd.iccprofile");
        mimeTypeMap.put("ice","x-conference/x-cooltalk");
        mimeTypeMap.put("icm","application/vnd.iccprofile");
        mimeTypeMap.put("ico","image/x-icon");
        mimeTypeMap.put("ics","text/calendar");
        mimeTypeMap.put("ief","image/ief");
        mimeTypeMap.put("ifb","text/calendar");
        mimeTypeMap.put("ifm","application/vnd.shana.informed.formdata");
        mimeTypeMap.put("iges","model/iges");
        mimeTypeMap.put("igl","application/vnd.igloader");
        mimeTypeMap.put("igm","application/vnd.insors.igm");
        mimeTypeMap.put("igs","model/iges");
        mimeTypeMap.put("igx","application/vnd.micrografx.igx");
        mimeTypeMap.put("iif","application/vnd.shana.informed.interchange");
        mimeTypeMap.put("imp","application/vnd.accpac.simply.imp");
        mimeTypeMap.put("ims","application/vnd.ms-ims");
        mimeTypeMap.put("in","text/plain");
        mimeTypeMap.put("ink","application/inkml+xml");
        mimeTypeMap.put("inkml","application/inkml+xml");
        mimeTypeMap.put("install","application/x-install-instructions");
        mimeTypeMap.put("iota","application/vnd.astraea-software.iota");
        mimeTypeMap.put("ipfix","application/ipfix");
        mimeTypeMap.put("ipk","application/vnd.shana.informed.package");
        mimeTypeMap.put("irm","application/vnd.ibm.rights-management");
        mimeTypeMap.put("irp","application/vnd.irepository.package+xml");
        mimeTypeMap.put("iso","application/x-iso9660-image");
        mimeTypeMap.put("itp","application/vnd.shana.informed.formtemplate");
        mimeTypeMap.put("ivp","application/vnd.immervision-ivp");
        mimeTypeMap.put("ivu","application/vnd.immervision-ivu");
        mimeTypeMap.put("jad","text/vnd.sun.j2me.app-descriptor");
        mimeTypeMap.put("jam","application/vnd.jam");
        mimeTypeMap.put("jar","application/java-archive");
        mimeTypeMap.put("java","text/x-java-source");
        mimeTypeMap.put("jisp","application/vnd.jisp");
        mimeTypeMap.put("jlt","application/vnd.hp-jlyt");
        mimeTypeMap.put("jnlp","application/x-java-jnlp-file");
        mimeTypeMap.put("joda","application/vnd.joost.joda-archive");
        mimeTypeMap.put("jpe","image/jpeg");
        mimeTypeMap.put("jpeg","image/jpeg");
        mimeTypeMap.put("jpg","image/jpeg");
        mimeTypeMap.put("jpgm","video/jpm");
        mimeTypeMap.put("jpgv","video/jpeg");
        mimeTypeMap.put("jpm","video/jpm");
        mimeTypeMap.put("js","application/javascript");
        mimeTypeMap.put("jsf","text/plain");
        mimeTypeMap.put("json","application/json");
        mimeTypeMap.put("jsonml","application/jsonml+json");
        mimeTypeMap.put("jspf","text/plain");
        mimeTypeMap.put("kar","audio/midi");
        mimeTypeMap.put("karbon","application/vnd.kde.karbon");
        mimeTypeMap.put("kfo","application/vnd.kde.kformula");
        mimeTypeMap.put("kia","application/vnd.kidspiration");
        mimeTypeMap.put("kml","application/vnd.google-earth.kml+xml");
        mimeTypeMap.put("kmz","application/vnd.google-earth.kmz");
        mimeTypeMap.put("kne","application/vnd.kinar");
        mimeTypeMap.put("knp","application/vnd.kinar");
        mimeTypeMap.put("kon","application/vnd.kde.kontour");
        mimeTypeMap.put("kpr","application/vnd.kde.kpresenter");
        mimeTypeMap.put("kpt","application/vnd.kde.kpresenter");
        mimeTypeMap.put("kpxx","application/vnd.ds-keypoint");
        mimeTypeMap.put("ksp","application/vnd.kde.kspread");
        mimeTypeMap.put("ktr","application/vnd.kahootz");
        mimeTypeMap.put("ktx","image/ktx");
        mimeTypeMap.put("ktz","application/vnd.kahootz");
        mimeTypeMap.put("kwd","application/vnd.kde.kword");
        mimeTypeMap.put("kwt","application/vnd.kde.kword");
        mimeTypeMap.put("lasxml","application/vnd.las.las+xml");
        mimeTypeMap.put("latex","application/x-latex");
        mimeTypeMap.put("lbd","application/vnd.llamagraphics.life-balance.desktop");
        mimeTypeMap.put("lbe","application/vnd.llamagraphics.life-balance.exchange+xml");
        mimeTypeMap.put("les","application/vnd.hhe.lesson-player");
        mimeTypeMap.put("lha","application/x-lzh-compressed");
        mimeTypeMap.put("link66","application/vnd.route66.link66+xml");
        mimeTypeMap.put("list","text/plain");
        mimeTypeMap.put("list3820","application/vnd.ibm.modcap");
        mimeTypeMap.put("listafp","application/vnd.ibm.modcap");
        mimeTypeMap.put("lnk","application/x-ms-shortcut");
        mimeTypeMap.put("log","text/plain");
        mimeTypeMap.put("lostxml","application/lost+xml");
        mimeTypeMap.put("lrf","application/octet-stream");
        mimeTypeMap.put("lrm","application/vnd.ms-lrm");
        mimeTypeMap.put("ltf","application/vnd.frogans.ltf");
        mimeTypeMap.put("lvp","audio/vnd.lucent.voice");
        mimeTypeMap.put("lwp","application/vnd.lotus-wordpro");
        mimeTypeMap.put("lzh","application/x-lzh-compressed");
        mimeTypeMap.put("m13","application/x-msmediaview");
        mimeTypeMap.put("m14","application/x-msmediaview");
        mimeTypeMap.put("m1v","video/mpeg");
        mimeTypeMap.put("m21","application/mp21");
        mimeTypeMap.put("m2a","audio/mpeg");
        mimeTypeMap.put("m2v","video/mpeg");
        mimeTypeMap.put("m3a","audio/mpeg");
        mimeTypeMap.put("m3u","audio/x-mpegurl");
        mimeTypeMap.put("m3u8","application/vnd.apple.mpegurl");
        mimeTypeMap.put("m4a","audio/mp4");
        mimeTypeMap.put("m4b","audio/mp4");
        mimeTypeMap.put("m4r","audio/mp4");
        mimeTypeMap.put("m4u","video/vnd.mpegurl");
        mimeTypeMap.put("m4v","video/mp4");
        mimeTypeMap.put("ma","application/mathematica");
        mimeTypeMap.put("mac","image/x-macpaint");
        mimeTypeMap.put("mads","application/mads+xml");
        mimeTypeMap.put("mag","application/vnd.ecowin.chart");
        mimeTypeMap.put("maker","application/vnd.framemaker");
        mimeTypeMap.put("man","text/troff");
        mimeTypeMap.put("mar","application/octet-stream");
        mimeTypeMap.put("mathml","application/mathml+xml");
        mimeTypeMap.put("mb","application/mathematica");
        mimeTypeMap.put("mbk","application/vnd.mobius.mbk");
        mimeTypeMap.put("mbox","application/mbox");
        mimeTypeMap.put("mc1","application/vnd.medcalcdata");
        mimeTypeMap.put("mcd","application/vnd.mcd");
        mimeTypeMap.put("mcurl","text/vnd.curl.mcurl");
        mimeTypeMap.put("mdb","application/x-msaccess");
        mimeTypeMap.put("mdi","image/vnd.ms-modi");
        mimeTypeMap.put("me","text/troff");
        mimeTypeMap.put("mesh","model/mesh");
        mimeTypeMap.put("meta4","application/metalink4+xml");
        mimeTypeMap.put("metalink","application/metalink+xml");
        mimeTypeMap.put("mets","application/mets+xml");
        mimeTypeMap.put("mfm","application/vnd.mfmp");
        mimeTypeMap.put("mft","application/rpki-manifest");
        mimeTypeMap.put("mgp","application/vnd.osgeo.mapguide.package");
        mimeTypeMap.put("mgz","application/vnd.proteus.magazine");
        mimeTypeMap.put("mid","audio/midi");
        mimeTypeMap.put("midi","audio/midi");
        mimeTypeMap.put("mie","application/x-mie");
        mimeTypeMap.put("mif","application/x-mif");
        mimeTypeMap.put("mime","message/rfc822");
        mimeTypeMap.put("mj2","video/mj2");
        mimeTypeMap.put("mjp2","video/mj2");
        mimeTypeMap.put("mk3d","video/x-matroska");
        mimeTypeMap.put("mka","audio/x-matroska");
        mimeTypeMap.put("mks","video/x-matroska");
        mimeTypeMap.put("mkv","video/x-matroska");
        mimeTypeMap.put("mlp","application/vnd.dolby.mlp");
        mimeTypeMap.put("mmd","application/vnd.chipnuts.karaoke-mmd");
        mimeTypeMap.put("mmf","application/vnd.smaf");
        mimeTypeMap.put("mmr","image/vnd.fujixerox.edmics-mmr");
        mimeTypeMap.put("mng","video/x-mng");
        mimeTypeMap.put("mny","application/x-msmoney");
        mimeTypeMap.put("mobi","application/x-mobipocket-ebook");
        mimeTypeMap.put("mods","application/mods+xml");
        mimeTypeMap.put("mov","video/quicktime");
        mimeTypeMap.put("movie","video/x-sgi-movie");
        mimeTypeMap.put("mp1","audio/mpeg");
        mimeTypeMap.put("mp2","audio/mpeg");
        mimeTypeMap.put("mp21","application/mp21");
        mimeTypeMap.put("mp2a","audio/mpeg");
        mimeTypeMap.put("mp3","audio/mpeg");
        mimeTypeMap.put("mp4","video/mp4");
        mimeTypeMap.put("mp4a","audio/mp4");
        mimeTypeMap.put("mp4s","application/mp4");
        mimeTypeMap.put("mp4v","video/mp4");
        mimeTypeMap.put("mpa","audio/mpeg");
        mimeTypeMap.put("mpc","application/vnd.mophun.certificate");
        mimeTypeMap.put("mpe","video/mpeg");
        mimeTypeMap.put("mpeg","video/mpeg");
        mimeTypeMap.put("mpega","audio/x-mpeg");
        mimeTypeMap.put("mpg","video/mpeg");
        mimeTypeMap.put("mpg4","video/mp4");
        mimeTypeMap.put("mpga","audio/mpeg");
        mimeTypeMap.put("mpkg","application/vnd.apple.installer+xml");
        mimeTypeMap.put("mpm","application/vnd.blueice.multipass");
        mimeTypeMap.put("mpn","application/vnd.mophun.application");
        mimeTypeMap.put("mpp","application/vnd.ms-project");
        mimeTypeMap.put("mpt","application/vnd.ms-project");
        mimeTypeMap.put("mpv2","video/mpeg2");
        mimeTypeMap.put("mpy","application/vnd.ibm.minipay");
        mimeTypeMap.put("mqy","application/vnd.mobius.mqy");
        mimeTypeMap.put("mrc","application/marc");
        mimeTypeMap.put("mrcx","application/marcxml+xml");
        mimeTypeMap.put("ms","text/troff");
        mimeTypeMap.put("mscml","application/mediaservercontrol+xml");
        mimeTypeMap.put("mseed","application/vnd.fdsn.mseed");
        mimeTypeMap.put("mseq","application/vnd.mseq");
        mimeTypeMap.put("msf","application/vnd.epson.msf");
        mimeTypeMap.put("msh","model/mesh");
        mimeTypeMap.put("msi","application/x-msdownload");
        mimeTypeMap.put("msl","application/vnd.mobius.msl");
        mimeTypeMap.put("msty","application/vnd.muvee.style");
        mimeTypeMap.put("mts","model/vnd.mts");
        mimeTypeMap.put("mus","application/vnd.musician");
        mimeTypeMap.put("musicxml","application/vnd.recordare.musicxml+xml");
        mimeTypeMap.put("mvb","application/x-msmediaview");
        mimeTypeMap.put("mwf","application/vnd.mfer");
        mimeTypeMap.put("mxf","application/mxf");
        mimeTypeMap.put("mxl","application/vnd.recordare.musicxml");
        mimeTypeMap.put("mxml","application/xv+xml");
        mimeTypeMap.put("mxs","application/vnd.triscape.mxs");
        mimeTypeMap.put("mxu","video/vnd.mpegurl");
        mimeTypeMap.put("n-gage","application/vnd.nokia.n-gage.symbian.install");
        mimeTypeMap.put("n3","text/n3");
        mimeTypeMap.put("nb","application/mathematica");
        mimeTypeMap.put("nbp","application/vnd.wolfram.player");
        mimeTypeMap.put("nc","application/x-netcdf");
        mimeTypeMap.put("ncx","application/x-dtbncx+xml");
        mimeTypeMap.put("nfo","text/x-nfo");
        mimeTypeMap.put("ngdat","application/vnd.nokia.n-gage.data");
        mimeTypeMap.put("nitf","application/vnd.nitf");
        mimeTypeMap.put("nlu","application/vnd.neurolanguage.nlu");
        mimeTypeMap.put("nml","application/vnd.enliven");
        mimeTypeMap.put("nnd","application/vnd.noblenet-directory");
        mimeTypeMap.put("nns","application/vnd.noblenet-sealer");
        mimeTypeMap.put("nnw","application/vnd.noblenet-web");
        mimeTypeMap.put("npx","image/vnd.net-fpx");
        mimeTypeMap.put("nsc","application/x-conference");
        mimeTypeMap.put("nsf","application/vnd.lotus-notes");
        mimeTypeMap.put("ntf","application/vnd.nitf");
        mimeTypeMap.put("nzb","application/x-nzb");
        mimeTypeMap.put("oa2","application/vnd.fujitsu.oasys2");
        mimeTypeMap.put("oa3","application/vnd.fujitsu.oasys3");
        mimeTypeMap.put("oas","application/vnd.fujitsu.oasys");
        mimeTypeMap.put("obd","application/x-msbinder");
        mimeTypeMap.put("obj","application/x-tgif");
        mimeTypeMap.put("oda","application/oda");
        mimeTypeMap.put("odb","application/vnd.oasis.opendocument.database");
        mimeTypeMap.put("odc","application/vnd.oasis.opendocument.chart");
        mimeTypeMap.put("odf","application/vnd.oasis.opendocument.formula");
        mimeTypeMap.put("odft","application/vnd.oasis.opendocument.formula-template");
        mimeTypeMap.put("odg","application/vnd.oasis.opendocument.graphics");
        mimeTypeMap.put("odi","application/vnd.oasis.opendocument.image");
        mimeTypeMap.put("odm","application/vnd.oasis.opendocument.text-master");
        mimeTypeMap.put("odp","application/vnd.oasis.opendocument.presentation");
        mimeTypeMap.put("ods","application/vnd.oasis.opendocument.spreadsheet");
        mimeTypeMap.put("odt","application/vnd.oasis.opendocument.text");
        mimeTypeMap.put("oga","audio/ogg");
        mimeTypeMap.put("ogg","audio/ogg");
        mimeTypeMap.put("ogv","video/ogg");
        mimeTypeMap.put("ogx","application/ogg");
        mimeTypeMap.put("omdoc","application/omdoc+xml");
        mimeTypeMap.put("onepkg","application/onenote");
        mimeTypeMap.put("onetmp","application/onenote");
        mimeTypeMap.put("onetoc","application/onenote");
        mimeTypeMap.put("onetoc2","application/onenote");
        mimeTypeMap.put("opf","application/oebps-package+xml");
        mimeTypeMap.put("opml","text/x-opml");
        mimeTypeMap.put("oprc","application/vnd.palm");
        mimeTypeMap.put("org","application/vnd.lotus-organizer");
        mimeTypeMap.put("osf","application/vnd.yamaha.openscoreformat");
        mimeTypeMap.put("osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml");
        mimeTypeMap.put("otc","application/vnd.oasis.opendocument.chart-template");
        mimeTypeMap.put("otf","font/otf");
        mimeTypeMap.put("otg","application/vnd.oasis.opendocument.graphics-template");
        mimeTypeMap.put("oth","application/vnd.oasis.opendocument.text-web");
        mimeTypeMap.put("oti","application/vnd.oasis.opendocument.image-template");
        mimeTypeMap.put("otp","application/vnd.oasis.opendocument.presentation-template");
        mimeTypeMap.put("ots","application/vnd.oasis.opendocument.spreadsheet-template");
        mimeTypeMap.put("ott","application/vnd.oasis.opendocument.text-template");
        mimeTypeMap.put("oxps","application/oxps");
        mimeTypeMap.put("oxt","application/vnd.openofficeorg.extension");
        mimeTypeMap.put("p","text/x-pascal");
        mimeTypeMap.put("p10","application/pkcs10");
        mimeTypeMap.put("p12","application/x-pkcs12");
        mimeTypeMap.put("p7b","application/x-pkcs7-certificates");
        mimeTypeMap.put("p7c","application/pkcs7-mime");
        mimeTypeMap.put("p7m","application/pkcs7-mime");
        mimeTypeMap.put("p7r","application/x-pkcs7-certreqresp");
        mimeTypeMap.put("p7s","application/pkcs7-signature");
        mimeTypeMap.put("p8","application/pkcs8");
        mimeTypeMap.put("pas","text/x-pascal");
        mimeTypeMap.put("paw","application/vnd.pawaafile");
        mimeTypeMap.put("pbd","application/vnd.powerbuilder6");
        mimeTypeMap.put("pbm","image/x-portable-bitmap");
        mimeTypeMap.put("pcap","application/vnd.tcpdump.pcap");
        mimeTypeMap.put("pcf","application/x-font-pcf");
        mimeTypeMap.put("pcl","application/vnd.hp-pcl");
        mimeTypeMap.put("pclxl","application/vnd.hp-pclxl");
        mimeTypeMap.put("pct","image/pict");
        mimeTypeMap.put("pcurl","application/vnd.curl.pcurl");
        mimeTypeMap.put("pcx","image/x-pcx");
        mimeTypeMap.put("pdb","application/vnd.palm");
        mimeTypeMap.put("pdf","application/pdf");
        mimeTypeMap.put("pfa","application/x-font-type1");
        mimeTypeMap.put("pfb","application/x-font-type1");
        mimeTypeMap.put("pfm","application/x-font-type1");
        mimeTypeMap.put("pfr","application/font-tdpfr");
        mimeTypeMap.put("pfx","application/x-pkcs12");
        mimeTypeMap.put("pgm","image/x-portable-graymap");
        mimeTypeMap.put("pgn","application/x-chess-pgn");
        mimeTypeMap.put("pgp","application/pgp-encrypted");
        mimeTypeMap.put("pic","image/pict");
        mimeTypeMap.put("pict","image/pict");
        mimeTypeMap.put("pkg","application/octet-stream");
        mimeTypeMap.put("pki","application/pkixcmp");
        mimeTypeMap.put("pkipath","application/pkix-pkipath");
        mimeTypeMap.put("plb","application/vnd.3gpp.pic-bw-large");
        mimeTypeMap.put("plc","application/vnd.mobius.plc");
        mimeTypeMap.put("plf","application/vnd.pocketlearn");
        mimeTypeMap.put("pls","audio/x-scpls");
        mimeTypeMap.put("pml","application/vnd.ctc-posml");
        mimeTypeMap.put("png","image/png");
        mimeTypeMap.put("pnm","image/x-portable-anymap");
        mimeTypeMap.put("pnt","image/x-macpaint");
        mimeTypeMap.put("portpkg","application/vnd.macports.portpkg");
        mimeTypeMap.put("pot","application/vnd.ms-powerpoint");
        mimeTypeMap.put("potm","application/vnd.ms-powerpoint.template.macroenabled.12");
        mimeTypeMap.put("potx","application/vnd.openxmlformats-officedocument.presentationml.template");
        mimeTypeMap.put("ppam","application/vnd.ms-powerpoint.addin.macroenabled.12");
        mimeTypeMap.put("ppd","application/vnd.cups-ppd");
        mimeTypeMap.put("ppm","image/x-portable-pixmap");
        mimeTypeMap.put("pps","application/vnd.ms-powerpoint");
        mimeTypeMap.put("ppsm","application/vnd.ms-powerpoint.slideshow.macroenabled.12");
        mimeTypeMap.put("ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow");
        mimeTypeMap.put("ppt","application/vnd.ms-powerpoint");
        mimeTypeMap.put("pptm","application/vnd.ms-powerpoint.presentation.macroenabled.12");
        mimeTypeMap.put("pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation");
        mimeTypeMap.put("pqa","application/vnd.palm");
        mimeTypeMap.put("prc","application/x-mobipocket-ebook");
        mimeTypeMap.put("pre","application/vnd.lotus-freelance");
        mimeTypeMap.put("prf","application/pics-rules");
        mimeTypeMap.put("ps","application/postscript");
        mimeTypeMap.put("psb","application/vnd.3gpp.pic-bw-small");
        mimeTypeMap.put("psd","image/vnd.adobe.photoshop");
        mimeTypeMap.put("psf","application/x-font-linux-psf");
        mimeTypeMap.put("pskcxml","application/pskc+xml");
        mimeTypeMap.put("ptid","application/vnd.pvi.ptid1");
        mimeTypeMap.put("pub","application/x-mspublisher");
        mimeTypeMap.put("pvb","application/vnd.3gpp.pic-bw-var");
        mimeTypeMap.put("pwn","application/vnd.3m.post-it-notes");
        mimeTypeMap.put("pya","audio/vnd.ms-playready.media.pya");
        mimeTypeMap.put("pyv","video/vnd.ms-playready.media.pyv");
        mimeTypeMap.put("qam","application/vnd.epson.quickanime");
        mimeTypeMap.put("qbo","application/vnd.intu.qbo");
        mimeTypeMap.put("qfx","application/vnd.intu.qfx");
        mimeTypeMap.put("qps","application/vnd.publishare-delta-tree");
        mimeTypeMap.put("qt","video/quicktime");
        mimeTypeMap.put("qti","image/x-quicktime");
        mimeTypeMap.put("qtif","image/x-quicktime");
        mimeTypeMap.put("qwd","application/vnd.quark.quarkxpress");
        mimeTypeMap.put("qwt","application/vnd.quark.quarkxpress");
        mimeTypeMap.put("qxb","application/vnd.quark.quarkxpress");
        mimeTypeMap.put("qxd","application/vnd.quark.quarkxpress");
        mimeTypeMap.put("qxl","application/vnd.quark.quarkxpress");
        mimeTypeMap.put("qxt","application/vnd.quark.quarkxpress");
        mimeTypeMap.put("ra","audio/x-pn-realaudio");
        mimeTypeMap.put("ram","audio/x-pn-realaudio");
        mimeTypeMap.put("rar","application/x-rar-compressed");
        mimeTypeMap.put("ras","image/x-cmu-raster");
        mimeTypeMap.put("rcprofile","application/vnd.ipunplugged.rcprofile");
        mimeTypeMap.put("rdf","application/rdf+xml");
        mimeTypeMap.put("rdz","application/vnd.data-vision.rdz");
        mimeTypeMap.put("rep","application/vnd.businessobjects");
        mimeTypeMap.put("res","application/x-dtbresource+xml");
        mimeTypeMap.put("rgb","image/x-rgb");
        mimeTypeMap.put("rif","application/reginfo+xml");
        mimeTypeMap.put("rip","audio/vnd.rip");
        mimeTypeMap.put("ris","application/x-research-info-systems");
        mimeTypeMap.put("rl","application/resource-lists+xml");
        mimeTypeMap.put("rlc","image/vnd.fujixerox.edmics-rlc");
        mimeTypeMap.put("rld","application/resource-lists-diff+xml");
        mimeTypeMap.put("rm","application/vnd.rn-realmedia");
        mimeTypeMap.put("rmi","audio/midi");
        mimeTypeMap.put("rmp","audio/x-pn-realaudio-plugin");
        mimeTypeMap.put("rms","application/vnd.jcp.javame.midlet-rms");
        mimeTypeMap.put("rmvb","application/vnd.rn-realmedia-vbr");
        mimeTypeMap.put("rnc","application/relax-ng-compact-syntax");
        mimeTypeMap.put("roa","application/rpki-roa");
        mimeTypeMap.put("roff","text/troff");
        mimeTypeMap.put("rp9","application/vnd.cloanto.rp9");
        mimeTypeMap.put("rpss","application/vnd.nokia.radio-presets");
        mimeTypeMap.put("rpst","application/vnd.nokia.radio-preset");
        mimeTypeMap.put("rq","application/sparql-query");
        mimeTypeMap.put("rs","application/rls-services+xml");
        mimeTypeMap.put("rsd","application/rsd+xml");
        mimeTypeMap.put("rss","application/rss+xml");
        mimeTypeMap.put("rtf","application/rtf");
        mimeTypeMap.put("rtx","text/richtext");
        mimeTypeMap.put("s","text/x-asm");
        mimeTypeMap.put("s3m","audio/s3m");
        mimeTypeMap.put("saf","application/vnd.yamaha.smaf-audio");
        mimeTypeMap.put("sbml","application/sbml+xml");
        mimeTypeMap.put("sc","application/vnd.ibm.secure-container");
        mimeTypeMap.put("scd","application/x-msschedule");
        mimeTypeMap.put("scm","application/vnd.lotus-screencam");
        mimeTypeMap.put("scq","application/scvp-cv-request");
        mimeTypeMap.put("scs","application/scvp-cv-response");
        mimeTypeMap.put("scurl","text/vnd.curl.scurl");
        mimeTypeMap.put("sda","application/vnd.stardivision.draw");
        mimeTypeMap.put("sdc","application/vnd.stardivision.calc");
        mimeTypeMap.put("sdd","application/vnd.stardivision.impress");
        mimeTypeMap.put("sdkd","application/vnd.solent.sdkm+xml");
        mimeTypeMap.put("sdkm","application/vnd.solent.sdkm+xml");
        mimeTypeMap.put("sdp","application/sdp");
        mimeTypeMap.put("sdw","application/vnd.stardivision.writer");
        mimeTypeMap.put("see","application/vnd.seemail");
        mimeTypeMap.put("seed","application/vnd.fdsn.seed");
        mimeTypeMap.put("sema","application/vnd.sema");
        mimeTypeMap.put("semd","application/vnd.semd");
        mimeTypeMap.put("semf","application/vnd.semf");
        mimeTypeMap.put("ser","application/java-serialized-object");
        mimeTypeMap.put("setpay","application/set-payment-initiation");
        mimeTypeMap.put("setreg","application/set-registration-initiation");
        mimeTypeMap.put("sfd-hdstx","application/vnd.hydrostatix.sof-data");
        mimeTypeMap.put("sfs","application/vnd.spotfire.sfs");
        mimeTypeMap.put("sfv","text/x-sfv");
        mimeTypeMap.put("sgi","image/sgi");
        mimeTypeMap.put("sgl","application/vnd.stardivision.writer-global");
        mimeTypeMap.put("sgm","text/sgml");
        mimeTypeMap.put("sgml","text/sgml");
        mimeTypeMap.put("sh","application/x-sh");
        mimeTypeMap.put("shar","application/x-shar");
        mimeTypeMap.put("shf","application/shf+xml");
        mimeTypeMap.put("shtml","text/x-server-parsed-html");
        mimeTypeMap.put("sid","image/x-mrsid-image");
        mimeTypeMap.put("sig","application/pgp-signature");
        mimeTypeMap.put("sil","audio/silk");
        mimeTypeMap.put("silo","model/mesh");
        mimeTypeMap.put("sis","application/vnd.symbian.install");
        mimeTypeMap.put("sisx","application/vnd.symbian.install");
        mimeTypeMap.put("sit","application/x-stuffit");
        mimeTypeMap.put("sitx","application/x-stuffitx");
        mimeTypeMap.put("skd","application/vnd.koan");
        mimeTypeMap.put("skm","application/vnd.koan");
        mimeTypeMap.put("skp","application/vnd.koan");
        mimeTypeMap.put("skt","application/vnd.koan");
        mimeTypeMap.put("sldm","application/vnd.ms-powerpoint.slide.macroenabled.12");
        mimeTypeMap.put("sldx","application/vnd.openxmlformats-officedocument.presentationml.slide");
        mimeTypeMap.put("slt","application/vnd.epson.salt");
        mimeTypeMap.put("sm","application/vnd.stepmania.stepchart");
        mimeTypeMap.put("smf","application/vnd.stardivision.math");
        mimeTypeMap.put("smi","application/smil+xml");
        mimeTypeMap.put("smil","application/smil+xml");
        mimeTypeMap.put("smv","video/x-smv");
        mimeTypeMap.put("smzip","application/vnd.stepmania.package");
        mimeTypeMap.put("snd","audio/basic");
        mimeTypeMap.put("snf","application/x-font-snf");
        mimeTypeMap.put("so","application/octet-stream");
        mimeTypeMap.put("spc","application/x-pkcs7-certificates");
        mimeTypeMap.put("spf","application/vnd.yamaha.smaf-phrase");
        mimeTypeMap.put("spl","application/x-futuresplash");
        mimeTypeMap.put("spot","text/vnd.in3d.spot");
        mimeTypeMap.put("spp","application/scvp-vp-response");
        mimeTypeMap.put("spq","application/scvp-vp-request");
        mimeTypeMap.put("spx","audio/ogg");
        mimeTypeMap.put("sql","application/x-sql");
        mimeTypeMap.put("src","application/x-wais-source");
        mimeTypeMap.put("srt","application/x-subrip");
        mimeTypeMap.put("sru","application/sru+xml");
        mimeTypeMap.put("srx","application/sparql-results+xml");
        mimeTypeMap.put("ssdl","application/ssdl+xml");
        mimeTypeMap.put("sse","application/vnd.kodak-descriptor");
        mimeTypeMap.put("ssf","application/vnd.epson.ssf");
        mimeTypeMap.put("ssml","application/ssml+xml");
        mimeTypeMap.put("st","application/vnd.sailingtracker.track");
        mimeTypeMap.put("stc","application/vnd.sun.xml.calc.template");
        mimeTypeMap.put("std","application/vnd.sun.xml.draw.template");
        mimeTypeMap.put("stf","application/vnd.wt.stf");
        mimeTypeMap.put("sti","application/vnd.sun.xml.impress.template");
        mimeTypeMap.put("stk","application/hyperstudio");
        mimeTypeMap.put("stl","application/vnd.ms-pki.stl");
        mimeTypeMap.put("str","application/vnd.pg.format");
        mimeTypeMap.put("stw","application/vnd.sun.xml.writer.template");
        mimeTypeMap.put("sub","text/vnd.dvb.subtitle");
        mimeTypeMap.put("sus","application/vnd.sus-calendar");
        mimeTypeMap.put("susp","application/vnd.sus-calendar");
        mimeTypeMap.put("sv4cpio","application/x-sv4cpio");
        mimeTypeMap.put("sv4crc","application/x-sv4crc");
        mimeTypeMap.put("svc","application/vnd.dvb.service");
        mimeTypeMap.put("svd","application/vnd.svd");
        mimeTypeMap.put("svg","image/svg+xml");
        mimeTypeMap.put("svgz","image/svg+xml");
        mimeTypeMap.put("swa","application/x-director");
        mimeTypeMap.put("swf","application/x-shockwave-flash");
        mimeTypeMap.put("swi","application/vnd.aristanetworks.swi");
        mimeTypeMap.put("sxc","application/vnd.sun.xml.calc");
        mimeTypeMap.put("sxd","application/vnd.sun.xml.draw");
        mimeTypeMap.put("sxg","application/vnd.sun.xml.writer.global");
        mimeTypeMap.put("sxi","application/vnd.sun.xml.impress");
        mimeTypeMap.put("sxm","application/vnd.sun.xml.math");
        mimeTypeMap.put("sxw","application/vnd.sun.xml.writer");
        mimeTypeMap.put("t","text/troff");
        mimeTypeMap.put("t3","application/x-t3vm-image");
        mimeTypeMap.put("taglet","application/vnd.mynfc");
        mimeTypeMap.put("tao","application/vnd.tao.intent-module-archive");
        mimeTypeMap.put("tar","application/x-tar");
        mimeTypeMap.put("tcap","application/vnd.3gpp2.tcap");
        mimeTypeMap.put("tcl","application/x-tcl");
        mimeTypeMap.put("teacher","application/vnd.smart.teacher");
        mimeTypeMap.put("tei","application/tei+xml");
        mimeTypeMap.put("teicorpus","application/tei+xml");
        mimeTypeMap.put("tex","application/x-tex");
        mimeTypeMap.put("texi","application/x-texinfo");
        mimeTypeMap.put("texinfo","application/x-texinfo");
        mimeTypeMap.put("text","text/plain");
        mimeTypeMap.put("tfi","application/thraud+xml");
        mimeTypeMap.put("tfm","application/x-tex-tfm");
        mimeTypeMap.put("tga","image/x-tga");
        mimeTypeMap.put("thmx","application/vnd.ms-officetheme");
        mimeTypeMap.put("tif","image/tiff");
        mimeTypeMap.put("tiff","image/tiff");
        mimeTypeMap.put("tmo","application/vnd.tmobile-livetv");
        mimeTypeMap.put("torrent","application/x-bittorrent");
        mimeTypeMap.put("tpl","application/vnd.groove-tool-template");
        mimeTypeMap.put("tpt","application/vnd.trid.tpt");
        mimeTypeMap.put("tr","text/troff");
        mimeTypeMap.put("tra","application/vnd.trueapp");
        mimeTypeMap.put("trm","application/x-msterminal");
        mimeTypeMap.put("tsd","application/timestamped-data");
        mimeTypeMap.put("tsv","text/tab-separated-values");
        mimeTypeMap.put("ttc","font/collection");
        mimeTypeMap.put("ttf","font/ttf");
        mimeTypeMap.put("ttl","text/turtle");
        mimeTypeMap.put("twd","application/vnd.simtech-mindmapper");
        mimeTypeMap.put("twds","application/vnd.simtech-mindmapper");
        mimeTypeMap.put("txd","application/vnd.genomatix.tuxedo");
        mimeTypeMap.put("txf","application/vnd.mobius.txf");
        mimeTypeMap.put("txt","text/plain");
        mimeTypeMap.put("u32","application/x-authorware-bin");
        mimeTypeMap.put("udeb","application/x-debian-package");
        mimeTypeMap.put("ufd","application/vnd.ufdl");
        mimeTypeMap.put("ufdl","application/vnd.ufdl");
        mimeTypeMap.put("ulw","audio/basic");
        mimeTypeMap.put("ulx","application/x-glulx");
        mimeTypeMap.put("umj","application/vnd.umajin");
        mimeTypeMap.put("unityweb","application/vnd.unity");
        mimeTypeMap.put("uoml","application/vnd.uoml+xml");
        mimeTypeMap.put("uri","text/uri-list");
        mimeTypeMap.put("uris","text/uri-list");
        mimeTypeMap.put("urls","text/uri-list");
        mimeTypeMap.put("ustar","application/x-ustar");
        mimeTypeMap.put("utz","application/vnd.uiq.theme");
        mimeTypeMap.put("uu","text/x-uuencode");
        mimeTypeMap.put("uva","audio/vnd.dece.audio");
        mimeTypeMap.put("uvd","application/vnd.dece.data");
        mimeTypeMap.put("uvf","application/vnd.dece.data");
        mimeTypeMap.put("uvg","image/vnd.dece.graphic");
        mimeTypeMap.put("uvh","video/vnd.dece.hd");
        mimeTypeMap.put("uvi","image/vnd.dece.graphic");
        mimeTypeMap.put("uvm","video/vnd.dece.mobile");
        mimeTypeMap.put("uvp","video/vnd.dece.pd");
        mimeTypeMap.put("uvs","video/vnd.dece.sd");
        mimeTypeMap.put("uvt","application/vnd.dece.ttml+xml");
        mimeTypeMap.put("uvu","video/vnd.uvvu.mp4");
        mimeTypeMap.put("uvv","video/vnd.dece.video");
        mimeTypeMap.put("uvva","audio/vnd.dece.audio");
        mimeTypeMap.put("uvvd","application/vnd.dece.data");
        mimeTypeMap.put("uvvf","application/vnd.dece.data");
        mimeTypeMap.put("uvvg","image/vnd.dece.graphic");
        mimeTypeMap.put("uvvh","video/vnd.dece.hd");
        mimeTypeMap.put("uvvi","image/vnd.dece.graphic");
        mimeTypeMap.put("uvvm","video/vnd.dece.mobile");
        mimeTypeMap.put("uvvp","video/vnd.dece.pd");
        mimeTypeMap.put("uvvs","video/vnd.dece.sd");
        mimeTypeMap.put("uvvt","application/vnd.dece.ttml+xml");
        mimeTypeMap.put("uvvu","video/vnd.uvvu.mp4");
        mimeTypeMap.put("uvvv","video/vnd.dece.video");
        mimeTypeMap.put("uvvx","application/vnd.dece.unspecified");
        mimeTypeMap.put("uvvz","application/vnd.dece.zip");
        mimeTypeMap.put("uvx","application/vnd.dece.unspecified");
        mimeTypeMap.put("uvz","application/vnd.dece.zip");
        mimeTypeMap.put("vcard","text/vcard");
        mimeTypeMap.put("vcd","application/x-cdlink");
        mimeTypeMap.put("vcf","text/x-vcard");
        mimeTypeMap.put("vcg","application/vnd.groove-vcard");
        mimeTypeMap.put("vcs","text/x-vcalendar");
        mimeTypeMap.put("vcx","application/vnd.vcx");
        mimeTypeMap.put("vis","application/vnd.visionary");
        mimeTypeMap.put("viv","video/vnd.vivo");
        mimeTypeMap.put("vob","video/x-ms-vob");
        mimeTypeMap.put("vor","application/vnd.stardivision.writer");
        mimeTypeMap.put("vox","application/x-authorware-bin");
        mimeTypeMap.put("vrml","model/vrml");
        mimeTypeMap.put("vsd","application/vnd.visio");
        mimeTypeMap.put("vsf","application/vnd.vsf");
        mimeTypeMap.put("vss","application/vnd.visio");
        mimeTypeMap.put("vst","application/vnd.visio");
        mimeTypeMap.put("vsw","application/vnd.visio");
        mimeTypeMap.put("vtu","model/vnd.vtu");
        mimeTypeMap.put("vxml","application/voicexml+xml");
        mimeTypeMap.put("w3d","application/x-director");
        mimeTypeMap.put("wad","application/x-doom");
        mimeTypeMap.put("wasm","application/wasm");
        mimeTypeMap.put("wav","audio/x-wav");
        mimeTypeMap.put("wax","audio/x-ms-wax");
        mimeTypeMap.put("wbmp","image/vnd.wap.wbmp");
        mimeTypeMap.put("wbs","application/vnd.criticaltools.wbs+xml");
        mimeTypeMap.put("wbxml","application/vnd.wap.wbxml");
        mimeTypeMap.put("wcm","application/vnd.ms-works");
        mimeTypeMap.put("wdb","application/vnd.ms-works");
        mimeTypeMap.put("wdp","image/vnd.ms-photo");
        mimeTypeMap.put("weba","audio/webm");
        mimeTypeMap.put("webm","video/webm");
        mimeTypeMap.put("webp","image/webp");
        mimeTypeMap.put("wg","application/vnd.pmi.widget");
        mimeTypeMap.put("wgt","application/widget");
        mimeTypeMap.put("wks","application/vnd.ms-works");
        mimeTypeMap.put("wm","video/x-ms-wm");
        mimeTypeMap.put("wma","audio/x-ms-wma");
        mimeTypeMap.put("wmd","application/x-ms-wmd");
        mimeTypeMap.put("wmf","application/x-msmetafile");
        mimeTypeMap.put("wml","text/vnd.wap.wml");
        mimeTypeMap.put("wmlc","application/vnd.wap.wmlc");
        mimeTypeMap.put("wmls","text/vnd.wap.wmlscript");
        mimeTypeMap.put("wmlsc","application/vnd.wap.wmlscriptc");
        mimeTypeMap.put("wmv","video/x-ms-wmv");
        mimeTypeMap.put("wmx","video/x-ms-wmx");
        mimeTypeMap.put("wmz","application/x-msmetafile");
        mimeTypeMap.put("woff","font/woff");
        mimeTypeMap.put("woff2","font/woff2");
        mimeTypeMap.put("wpd","application/vnd.wordperfect");
        mimeTypeMap.put("wpl","application/vnd.ms-wpl");
        mimeTypeMap.put("wps","application/vnd.ms-works");
        mimeTypeMap.put("wqd","application/vnd.wqd");
        mimeTypeMap.put("wri","application/x-mswrite");
        mimeTypeMap.put("wrl","model/vrml");
        mimeTypeMap.put("wsdl","application/wsdl+xml");
        mimeTypeMap.put("wspolicy","application/wspolicy+xml");
        mimeTypeMap.put("wtb","application/vnd.webturbo");
        mimeTypeMap.put("wvx","video/x-ms-wvx");
        mimeTypeMap.put("x32","application/x-authorware-bin");
        mimeTypeMap.put("x3d","model/x3d+xml");
        mimeTypeMap.put("x3db","model/x3d+binary");
        mimeTypeMap.put("x3dbz","model/x3d+binary");
        mimeTypeMap.put("x3dv","model/x3d+vrml");
        mimeTypeMap.put("x3dvz","model/x3d+vrml");
        mimeTypeMap.put("x3dz","model/x3d+xml");
        mimeTypeMap.put("xaml","application/xaml+xml");
        mimeTypeMap.put("xap","application/x-silverlight-app");
        mimeTypeMap.put("xar","application/vnd.xara");
        mimeTypeMap.put("xbap","application/x-ms-xbap");
        mimeTypeMap.put("xbd","application/vnd.fujixerox.docuworks.binder");
        mimeTypeMap.put("xbm","image/x-xbitmap");
        mimeTypeMap.put("xdf","application/xcap-diff+xml");
        mimeTypeMap.put("xdm","application/vnd.syncml.dm+xml");
        mimeTypeMap.put("xdp","application/vnd.adobe.xdp+xml");
        mimeTypeMap.put("xdssc","application/dssc+xml");
        mimeTypeMap.put("xdw","application/vnd.fujixerox.docuworks");
        mimeTypeMap.put("xenc","application/xenc+xml");
        mimeTypeMap.put("xer","application/patch-ops-error+xml");
        mimeTypeMap.put("xfdf","application/vnd.adobe.xfdf");
        mimeTypeMap.put("xfdl","application/vnd.xfdl");
        mimeTypeMap.put("xht","application/xhtml+xml");
        mimeTypeMap.put("xhtml","application/xhtml+xml");
        mimeTypeMap.put("xhvml","application/xv+xml");
        mimeTypeMap.put("xif","image/vnd.xiff");
        mimeTypeMap.put("xla","application/vnd.ms-excel");
        mimeTypeMap.put("xlam","application/vnd.ms-excel.addin.macroenabled.12");
        mimeTypeMap.put("xlc","application/vnd.ms-excel");
        mimeTypeMap.put("xlf","application/x-xliff+xml");
        mimeTypeMap.put("xlm","application/vnd.ms-excel");
        mimeTypeMap.put("xls","application/vnd.ms-excel");
        mimeTypeMap.put("xlsb","application/vnd.ms-excel.sheet.binary.macroenabled.12");
        mimeTypeMap.put("xlsm","application/vnd.ms-excel.sheet.macroenabled.12");
        mimeTypeMap.put("xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
        mimeTypeMap.put("xlt","application/vnd.ms-excel");
        mimeTypeMap.put("xltm","application/vnd.ms-excel.template.macroenabled.12");
        mimeTypeMap.put("xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template");
        mimeTypeMap.put("xlw","application/vnd.ms-excel");
        mimeTypeMap.put("xm","audio/xm");
        mimeTypeMap.put("xml","application/xml");
        mimeTypeMap.put("xo","application/vnd.olpc-sugar");
        mimeTypeMap.put("xop","application/xop+xml");
        mimeTypeMap.put("xpi","application/x-xpinstall");
        mimeTypeMap.put("xpl","application/xproc+xml");
        mimeTypeMap.put("xpm","image/x-xpixmap");
        mimeTypeMap.put("xpr","application/vnd.is-xpr");
        mimeTypeMap.put("xps","application/vnd.ms-xpsdocument");
        mimeTypeMap.put("xpw","application/vnd.intercon.formnet");
        mimeTypeMap.put("xpx","application/vnd.intercon.formnet");
        mimeTypeMap.put("xsl","application/xml");
        mimeTypeMap.put("xslt","application/xslt+xml");
        mimeTypeMap.put("xsm","application/vnd.syncml+xml");
        mimeTypeMap.put("xspf","application/xspf+xml");
        mimeTypeMap.put("xul","application/vnd.mozilla.xul+xml");
        mimeTypeMap.put("xvm","application/xv+xml");
        mimeTypeMap.put("xvml","application/xv+xml");
        mimeTypeMap.put("xwd","image/x-xwindowdump");
        mimeTypeMap.put("xyz","chemical/x-xyz");
        mimeTypeMap.put("xz","application/x-xz");
        mimeTypeMap.put("yang","application/yang");
        mimeTypeMap.put("yin","application/yin+xml");
        mimeTypeMap.put("z","application/x-compress");
        mimeTypeMap.put("z1","application/x-zmachine");
        mimeTypeMap.put("z2","application/x-zmachine");
        mimeTypeMap.put("z3","application/x-zmachine");
        mimeTypeMap.put("z4","application/x-zmachine");
        mimeTypeMap.put("z5","application/x-zmachine");
        mimeTypeMap.put("z6","application/x-zmachine");
        mimeTypeMap.put("z7","application/x-zmachine");
        mimeTypeMap.put("z8","application/x-zmachine");
        mimeTypeMap.put("zaz","application/vnd.zzazz.deck+xml");
        mimeTypeMap.put("zip","application/zip");
        mimeTypeMap.put("zir","application/vnd.zul");
        mimeTypeMap.put("zirz","application/vnd.zul");
        mimeTypeMap.put("zmm","application/vnd.handheld-entertainment+xml");
    }

    public static String getMimeType(String extName){
        String mimeType = mimeTypeMap.get(extName);
        return mimeType == null ? DEFAULT_TYPE : mimeType;
    }

}
